home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1986 November
/
1986-11.d64
/
polar art
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
57 lines
10 f=2*(NULL):xs=160:ys=100:sf=.73:bc=0:cc=1:pr=49152:cb=49365:cn=49408:p=49438
20 dc=54272:cl$=chr$(147):printcl$:poke53280,0:poke53281,0
30 fori=prtopr+308:readd:pokei,d:next:fori=1to3:readd$(i):next
40 print"[147]"tab(14)"[158]polar art"
50 fori=1to3:sysp,10+i*2,5:printi"[157]. "d$(i):next
60 sysp,23,10:print"your selection? "
70 geta$:ifa$=""then70
80 a=val(a$):ifa<1ora>3thengosub290:goto40
90 n1=0:n2=0:r1=0:r2=0:printcl$:sysp,3,15:printd$(a):onagoto100,180,270
100 sysp,10,0:print"you must enter values for n,r1, and r2."
110 print:print"the sum of r1+r2 must be <= 135."
120 sysp,20,5:input"n,r1,r2";n1,r1,r2:gosub400:ift>135thengosub280:goto90
130 gosub310:gosub380:foran=0tofsteps:rp=r1+r2*sin(n1*an):gosub350
140 geta$:ifa$<>""thenan=f:goto260
150 next:gosub360
160 geta$:ifa$=""then160
170 goto260
180 sysp,10,2:print"you must enter values for":printtab(2)"n1,n2,r1, and r2."
190 sysp,13,2:print"the sum of r1+r2 must be <= 135."
200 sysp,20,5:input"n1,n2,r1,r2";n1,n2,r1,r2
210 gosub400:ift>135thengosub280:goto90
220 gosub310:gosub380:foran=0tofsteps:rp=r1*sin(n1*an)+r2*sin(n2*an)
230 gosub350:geta$:ifa$<>""thenan=f:goto260
240 next:gosub360
250 geta$:ifa$=""then250
260 poke53265,peek(53265)and223:poke53272,21:goto40
270 sys58260
280 sysp,23,2:print"incorrect data entry - try again"
290 fori=1to10:pokedc+24,15:forj=1to3:next
300 pokedc+24,0:forj=1to2:next:next:fori=0to300:next:return
310 printcl$:sysp,12,5:print"press any key to end drawing"
320 sysp,13,5:print"and return to menu.":fori=0to2000:next
330 poke53272,peek(53272)or8
340 syscb:syscn,bc+16*cc:poke53265,peek(53265)or32:return
350 syspr,xs+rp*cos(an),ys+sf*rp*sin(an):return
360 pokedc+24,15:pokedc+1,110:pokedc+5,9:pokedc+6,9:pokedc+4,17:pokedc+4,16
370 return
380 s=.04-(n1+n2)*.0015-t*.00005:ifs<.005thens=.005
390 return
400 t=abs(r1)+abs(r2):return
410 data 32,253,174,32,158,173,32,170,177,140,60,3,141,61,3,32,253,174,32
420 data 158,173,32,170,177,140,62,3,173,62,3,74,74,74,141,63,3,173,61,3,74
430 data 173,60,3,106,74,74,141,64,3,173,62,3,41,7,141,65,3,173,60,3,41,7,141
440 data 66,3,169,7,56,237,66,3,141,66,3,169,0,141,67,3,141,68,3,174,63,3,240
450 data 20,24,169,64,109,67,3,141,67,3,169,1,109,68,3,141,68,3,202,208,236
460 data 234,169,0,141,70,3,173,64,3,141,69,3,14,69,3,46,70,3,14,69,3,46,70,3
470 data 14,69,3,46,70,3,169,0,133,251,169,32,133,252,24,165,251,109,67,3,133
480 data 251,165,252,109,68,3,133,252,24,165,251,109,69,3,133,251,165,252,109
490 data 70,3,133,252,24,165,251,109,65,3,133,251,165,252,105,0,133,252,169,1
500 data 174,66,3,240,4,10,202,208,252,141,71,3,160,0,177,251,13,71,3,145,251
510 data 96,162,32,169,0,133,251,138,133,252,160,0,169,0,145,251,200,208,251
520 data 232,224,63,208,239,169,0,133,251,169,63,133,252,160,0,169,0,145,251
530 data 200,192,64,208,249,96,32,253,174,32,158,173,32,170,177,152,160,0,153
540 data 0,4,153,250,4,153,244,5,153,238,6,200,192,250,208,239,96,32,43,193
550 data 132,251,32,43,193,166,251,76,240,255,32,253,174,32,158,173,32,170
560 data 177,96,art i,art ii,quit